/*
 * Copyright (c) zhg2yqq.com Corp.
 * All Rights Reserved.
 */
package com.zhg2yqq.wheels.common.response;

/**
 * @author zhg2yqq, 2022年11月28日
 * @version zhg2yqq v1.0
 */
public enum BaseResponseCode implements IResponseCode {
    /**
     * 公共返回码
     */
    FAIL("-1", "系统繁忙"), SUCCESS("0", "请求成功"),

    RESOURCE_NOT_EXISTS("404", "访问资源不存在"), TOO_MANY_REQUESTS("429", "Too Many Requests"),

    GLOBAL_PARAM_ERROR("4000", "参数错误! {0}"), GLOBAL_UNKOWN_ERROR("5000", "系统错误");
//    /**
//     * 获取当前用户失败
//     */
//    UPDATE_SUPER("100000", "用户是超级管理员，不可以修改"),
//    CURRENT_USER_FAIL("100001", "获取当前用户失败"),
//    UPDATE_SUPER_STATUS("100002", "用户是超级管理员，不可以修改状态"),
//    UPDATE_SUPER_PASSWORD("100003", "用户是超级管理员，不可以修改密码"),
//    INVALID_TOKEN("100004", "非法Token，请重新登录"),
//    CHANGE_PASSWORD_ORGINAL("100005", "原密码错误"),
//
//    // 登录
//    USER_NEED_LOGIN("101001", "用户未登录，请登陆后进行访问"),
//    USER_MAX_LOGIN("101002", "该用户已在其它地方登录"),
//    USER_LOGIN_TIMEOUT("101003", "长时间未操作，自动退出"),
//    USER_DISABLED("101004", "用户被禁用"),
//    USER_LOCKED("101005", "用户被锁定"),
//    USER_PASSWORD_ERROR("101006", "用户名或密码错误"),
//    USER_PASSWORD_EXPIRED("101007", "用户密码过期"),
//    USER_ACCOUNT_EXPIRED("101008", "用户账号过期"),
//    USER_NOT_EXIST("101009", "没有该用户"),
//    USER_LOGIN_FAIL("101010", "用户登录失败"),
//    VERIFY_CODE_ERROR("101011", "验证码错误"),
//    USER_IS_EXIST("101012", "用户已存在"),
//    NO_AUTHENTICATION("101001", "无权访问"),
//
//    //角色管理
//    UPDATE_SUPER_ROLE("103000", "超级管理员角色，不可以修改"),
//    ROLE_IS_NOT_EXIST("103001", "角色ID无效"),
//    ROLE_IS_EXIST("103002", "角色代码已存在"),
//
//
//    //配置管理
//    CONFIG_ID_IS_NOT_EXIST("104001", "配置信息为空"),
//    CONFIG_IS_NOT_EXIST("104002", "配置ID无效"),
//    CONFIG_IS_EXIST("104003", "配置ID已存在"),
//    CONFIG_IS_SYSTEM("104004", "系统配置不允许修改"),
//    CONFIG_IS_NOT_DELETE("104005", "系统配置不允许删除"),
//
//    //文件系统
//    FILE_NOT_EXIST("106001", "文件不存在"),
//    FILE_UPLOAD_EXCEPTION("106002", "文件上传异常"),
//    FILE_DOWNLOAD_ABNORMAL("106003", "文件下载异常"),
//    FILE_DELETE_FAILE("106004", "文件删除失败"),
//
//    //权限
//    PERMISSION_NOT_FIND("102001", "无效的权限ID"),
//    PERMISSION_IS_EXIST("102002", "权限ID已存在"),
//    PERMISSION_PARENT_NOT_FIND("102003", "无效权限父节点ID"),
//    PERMISSION_PARENT_INVALID("102004", "无效权限父节点ID"),
//    PERMISSION_HAVE_SUB("102005", "权限下有子权限，不允许删除"),
//    PERMISSION_HAVE_ALLOCATE("102006", "权限已分配，不允许删除"),
//    PERMISSION_CODE_DUPLICATE("102007", "权限表示重复"),
//    //机构管理
//    ORG_IS_EXIST("107001", "机构已存在"),
//    ORG_NOT_EXIST("107002", "机构不存在"),
//    ORG_HAVE_USER("107003", "机构下存在用户"),
//    ORG_PID_ERROR("107004", "无效机构父节点ID"),
//    ORG_TOP_FORBID("107005", "父级节点禁止删除"),
//    ORG_HAVE_BRANCH("107006", "机构下存在子机构"),
//    ORG_STOP_REASON("107007", "停用原因不能为空"),
//
//    //字典管理
//    DICT_PID_ERROR("108001", "父级ID无效"),
//    DICT_ID_ERROR("108002", "ID无效"),
//    DICT_CODE_EXIST("108003", "字典code已存在"),
//    DICT_NAME_EXIST("108004", "字典name已存在"),
//    DICT_HAVE_DATA("108005", "字典下存在数据"),
//    DICT_NOT_EXIST("108006", "字典不存在"),
//    DICT_HAVE_SON("108007", "存在子节点"),
//    //数据组
//    GROUP_ID_ERROR("109001", "数据组信息不存在"),
//    GROUP_INIT_DATA_ERROR("109002", "数据组初始化无机构信息"),
//    // 任务
//    JOB_MISFIRE_POLICY_ERROR("110001", "任务计划策略错误"),
//    //动态代码
//    DYNAMIC_NOT_EXIST("110001", "动态代码不存在"),
//    DYNAMIC_STATUS_DISABLE("110002", "动态代码当前状态不可使用"),
//    DYNAMIC_NOT_BEAN("110003", "动态代码非Spring Bean"),
//    DYNAMIC_SYSTEM_BEAN("110004", "系统Bean无法卸载替换"),
//    DYNAMIC_REGIST_BEAN_ERROR("110005", "注册{} Bean错误");

    private String code;
    private String description;

    private BaseResponseCode(String code, String description) {
        this.code = code;
        this.description = description;
    }

    @Override
    public String getCode() {
        return code;
    }

    @Override
    public String getDescription() {
        return description;
    }
}
